//
// Created by 罗俊华 on 2022/1/12.
//


#include <iostream>

int main1() {

    using namespace std;
//  cout 时 ostream 类的一个实例对象
    cout << "hello world，我的第一个c++程序" << endl;

    cout << "mac 上 int 的占用 " << sizeof(int) << "个 byte" << endl;

    cout << " long 上占用 " << sizeof(long) << "个字节" << endl;


    cout << "接下来请输入一个 字符" << endl;

    char c{};
//    cin 时 istream 类的一个实例对象
//    输入时， cin 将键盘输入的字符转换为 int
    cin >> c;
//    输出时， cout 将 int 转换为 可以显示的字符
    cout << "非常感谢您输入了" << c << "字符，它占" << sizeof(c) << "个字节，强制将char转为int为" << static_cast<int>(c) << endl;


//    测试宽字符类型
    wchar_t w = L'宽';
    char16_t c16 = u'的';
    char32_t c32 = U'我';

    cout << w << c16 << c32 << endl;
    cout.put(w);
    cout.put(c16);
    cout.put(c32);

//  自动类型推断并非为这种简单的情况而设计的
    auto a = 100;

    cout << "\n让编译器能够根据初始值类型推断变量的类型\t" << a << endl;

    return 0;
}

